<?php

/**
 * Subclass for performing query and update operations on the 'semaine' table.
 *
 *
 *
 * @package lib.model
 */
class SemainePeer extends BaseSemainePeer {
	/*renvoie une instance de semaine existante, ou la cr�e si elle n'existe pas
	 * @param salarie salari� concern�
	 * @param clDate date concern�e
	 * @return semaine semaine
	 * 	 */
    
    static public function getSemaineTravail(salarie $salarie,clDate $date) {
      sfContext::getInstance()->getConfiguration()->loadHelpers('Util');
//	sfLoader::loadHelpers(array('Util')); <!-- Deprecated in Sf 1.4 -->
	$mondayWeek = $date->getLastMonday();
	$c =  new Criteria() ;
	$c -> add(SemainePeer::DATE_LUNDI,$mondayWeek->getDate()) ;
	$c -> add(SemainePeer::WORKER_ID,$salarie->getId()) ;
	$semaineTravail = getFirstEleTab(SemainePeer::doSelect($c));
	//si il n'existe pas dans la base
	if( ! $semaineTravail ) {
	    $semaineTravail = new Semaine() ;
	    $semaineTravail->setWorkerId($salarie->getId());
	    $semaineTravail->setDateLundi($mondayWeek->getDate());
	    $semaineTravail->save();
	}
	return $semaineTravail;
    }    
}
